﻿GLatLng = function(lat, lng, unbounded) 
{
	/// <summary>GLatLng is a point in geographical coordinates longitude and latitude. Notice the ordering of latitude and longitude. If the unbounded flag is true, then the numbers will be used as passed, otherwise latitude will be clamped to lie between -90 degrees and +90 degrees, and longitude will be wrapped to lie between -180 degrees and +180 degrees.</summary>
	/// <param name="lat" type="Number" >The latitude coordinate in degrees, as a number between -90 and +90.</param>
	/// <param name="lng" type="Number" >The longitude coordinate in degrees, as a number between -180 and +180.</param>
	/// <param name="unbounded" type="Boolean" >(optional) If true, then the numbers will be used as passed, otherwise latitude will be clamped to lie between -90 degrees and +90 degrees, and longitude will be wrapped to lie between -180 degrees and +180 degrees.</param>
	/// <returns type="Object"></returns>
}

GLatLng.prototype = 
{
	lat: function() 
	{
		/// <summary>Returns the latitude coordinate in degrees, as a number between -90 and +90. If the unbounded flag was set in the constructor, this coordinate can be outside this interval.</summary>
		/// <returns type="Number"></returns>
	},
	
	lng: function() 
	{
		/// <summary>Returns the longitude coordinate in degrees, as a number between -180 and +180. If the unbounded flag was set in the constructor, this coordinate can be outside this interval.</summary>
		/// <returns type="Number"></returns>
	},
	
	latRadians: function() 
	{
		/// <summary>Returns the latitude coordinate in radians, as a number between -PI/2 and +PI/2. If the unbounded flag was set in the constructor, this coordinate can be outside this interval.</summary>
		/// <returns type="Number"></returns>
	},
	
	lngRadians: function() 
	{
		/// <summary>Returns the longitude coordinate in radians, as a number between -PI and +PI. If the unbounded flag was set in the constructor, this coordinate can be outside this interval.</summary>
		/// <returns type="Number"></returns>
	},
	
	equals: function(other) 
	{
		/// <summary>Returns true iff the other size has equal components, within certain roundoff margins.</summary>
		/// <param name="other" type="GLatLng">The Lat/Long to compare.</param>
		/// <returns type="Boolean"></returns>
	},
	
	distanceFrom: function(other, radius) 
	{
		/// <summary>Returns the distance, in meters, from this point to the given point. By default, this distance is calculated given the default equatorial earth radius of 6378137 meters. The earth is approximated as a sphere, hence the distance could be off as much as 0.3%, especially in the polar extremes. You may also pass an optional radius  argument to calculate distances between GLatLng coordinates on spheres of a different radius than earth. (Since 2.89).</summary>
		/// <param name="other" type="GLatLng">The Lat/Long to compare.</param>
		/// <param name="radius" type="Number" optional="true">(optional) The radus to calculate distances between.</param>
		/// <returns type="Number"></returns>
	},
	
	toUrlValue: function(precision) 
	{
		/// <summary>Returns a string that represents this point in a format suitable for use as a URL parameter value, separated by a comma, without whitespace. By default, precision is returned to 6 digits, which corresponds to a resolution to 4 inches/ 11 centimeters. An optional precision  parameter allows you to specify a lower precision to reduce server load. Note: prior to 2.78, this  precision parameter was not available. (Since 2.78).</summary>
		/// <param name="precision" type="Number" optional="true">(optional) The precision to return.</param>
		/// <returns type="String"></returns>
	}
}